OrdinAide

Partager des codes PHP sans passer par les utilisateurs

Pour partager des pages Web directement depuis l'URL de partage de l'ordinateur, comme par exemple phpMyAdmin ou phpiCalendar, il ne suffit pas tout simplement les ajouter (éventuellement dans des dossiers) sous /Library/WebServer/, ni même sous /Library/WebServer/share/ ou /Library/WebServer/share/http/, bien que ce soit dans ce dossier qu'est situé le manuel Apache qui est visité avec l'URL : http://192.168.0.4/manual/192.168.0.4 est l'adresse IP de mon ordinateur chez moi (d'après la préférence Partage de l'application Préférences Système... ; pour la boucle en "local", et donc hors connexion, c'est la valeur définie dans httpd.conf, ie : 127.0.0.1)

Ce qu'il faut faire, c'est définir un dossier dans lequel on mettra ces codes, et s'inspirer des autres fichiers de configuration pour définir l'URI qui permettra de désigner à Apache qu'on veut accéder à ce que ce dossier contient. Cela se fait en plusieurs étapes :

  1. ajouter dans httpd.conf des directives qui reportent à un autre fichier de configuration les directives spécifiques pour ce qu'on veut faire. Ainsi, j'ai dupliquées et ajustées les lignes pour gérer l'accès au manuel (lignes 463 à 464) comme suit :
    # addVB - 20080405
    # Local access to some php shared tools
    Include /private/etc/apache2/extra/httpd-VBphpsharedtools.conf
    
  2. créer ce fichier de configuration spécifique (que j'ai appelé httpd-VBphpsharedtools.conf et mis dans /private/etc/apache2/extra/
  3. dans ce fichier, definir un alias pour qu'une URI avec le mot qu'on veut, simulant un dossier, dirige en fait le serveur sur le dossier réellement désiré. Pour cela, l'alias utilisé dans httpd-manual.conf :
    AliasMatch ^/manual(?:/(?:de|en|es|fr|ja|ko|pt-br|ru))?(/.*)?$ "/Library/WebServer/share/httpd/manual$1"
    est trop compliqué (c'est un alias multiple basé sur un identification par expression régulière), j'ai plutôt pris celui qui est utilisé dans httpd-multilang-errordoc.conf en l'ajustant comme suit
    Alias /phpsharedtools "/Library/WebServer/share/VBphpsharedtools/"
    de sorte que http://192.168.0.4/phpsharedtools renvoie en fait les pages du dossier /Library/WebServer/share/VBphpsharedtools/
  4. enfin, ajouter dans ce fichier, des directives Apache pour le dossier partagé en particulier pour suivre les liens symboliques (j'aime bien les liens symboliques...) :
    < Directory "/Library/WebServer/share/VBphpsharedtools">
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        Allow from all
    < /Directory>